using System;
using System.Collections;
using System.Collections.Generic;

using QLKS.DataLayer.Base;

namespace QLKS.DataLayer.BusinessObjects
{
    public partial class Phong : BusinessBase<string>
    {
        #region Declarations

		private string _tenPhong = null;
		private string _ghiChu = null;
		private bool? _tinhTrang = null;
		private bool _isActive = default(Boolean);
		
		private LoaiPhong _loaiPhong = null;
		
		private IList<CTMatDoSuDung> _cTMatDoSuDungs = new List<CTMatDoSuDung>();
		private IList<PhieuThuePhong> _phieuThuePhongs = new List<PhieuThuePhong>();
		
		#endregion

        #region Constructors

        public Phong() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_tenPhong);
			sb.Append(_ghiChu);
			sb.Append(_tinhTrang);
			sb.Append(_isActive);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string TenPhong
        {
            get { return _tenPhong; }
			set
			{
				OnTenPhongChanging();
				_tenPhong = value;
				OnTenPhongChanged();
			}
        }
		partial void OnTenPhongChanging();
		partial void OnTenPhongChanged();
		
		public virtual string GhiChu
        {
            get { return _ghiChu; }
			set
			{
				OnGhiChuChanging();
				_ghiChu = value;
				OnGhiChuChanged();
			}
        }
		partial void OnGhiChuChanging();
		partial void OnGhiChuChanged();
		
		public virtual bool? TinhTrang
        {
            get { return _tinhTrang; }
			set
			{
				OnTinhTrangChanging();
				_tinhTrang = value;
				OnTinhTrangChanged();
			}
        }
		partial void OnTinhTrangChanging();
		partial void OnTinhTrangChanged();
		
		public virtual bool IsActive
        {
            get { return _isActive; }
			set
			{
				OnIsActiveChanging();
				_isActive = value;
				OnIsActiveChanged();
			}
        }
		partial void OnIsActiveChanging();
		partial void OnIsActiveChanged();
		
		public virtual LoaiPhong LoaiPhong
        {
            get { return _loaiPhong; }
			set
			{
				OnLoaiPhongChanging();
				_loaiPhong = value;
				OnLoaiPhongChanged();
			}
        }
		partial void OnLoaiPhongChanging();
		partial void OnLoaiPhongChanged();
		
		public virtual IList<CTMatDoSuDung> CTMatDoSuDungs
        {
            get { return _cTMatDoSuDungs; }
            set
			{
				OnCTMatDoSuDungsChanging();
				_cTMatDoSuDungs = value;
				OnCTMatDoSuDungsChanged();
			}
        }
		partial void OnCTMatDoSuDungsChanging();
		partial void OnCTMatDoSuDungsChanged();
		
		public virtual IList<PhieuThuePhong> PhieuThuePhongs
        {
            get { return _phieuThuePhongs; }
            set
			{
				OnPhieuThuePhongsChanging();
				_phieuThuePhongs = value;
				OnPhieuThuePhongsChanged();
			}
        }
		partial void OnPhieuThuePhongsChanging();
		partial void OnPhieuThuePhongsChanged();
		
        #endregion
    }
}
